草庐IT

TypeScript 基础类型

全部标签

javascript - 为什么 Chrome 粘贴图片时会将图片数据转换为 "image/png"mime 类型?

将JPG图片文件复制粘贴到Chrome后,分析Event.originalEvent.clipboardData中的数据,图片类型为image/png。为什么?操作系统:windows7我认为复制到剪贴板时图像不可能被转换。我试过把它粘贴到其他App上,图片可以保存为JPG。我是从网页上下载的。 最佳答案 也就是说,在native应用程序和网站之间进行尽可能丰富的交互显然是一个目标。但是浏览器需要做一些“过滤”以仅公开它知道MIME类型描述的数据-MIME类型是我们描述网络内容的方式,它是跨平台的,因此比com.apple.iWor

javascript - GraphQL 联合和冲突类型

我的项目有问题,但我在互联网上找不到任何解决方案。情况是这样的。我有一个Union(DataResult),有两种类型(Teaser和Program)我有一个带有data字段的Zone类型(数组DataResult)Teaser和Program具有相同的title字段,但类型不同(StringvsString!)这是来自Zone、Teaser和Program模式的部分:typeProgram{title:String}typeTeaser{title:String!}unionDataResult=Teaser|ProgramtypeZone{(...)data:[DataResult

javascript - 在 Javascript 中使用 'enum' 类型而不是字符串有什么意义吗?

我有静态类型语言的背景,我从枚举中获得的主要好处是编译时错误捕获。我正在用Javascript编写一个小程序,我发现自己想要类似枚举的东西,可能是这样的:varFruit={BANANA:"BANANA",APPLE:"APPLE",PEAR:"PEAR";};但我看不出这样做有什么好处。我还不如在任何需要这个“枚举”的地方都使用字符串。我应该只使用javascript中的字符串来代替其他语言中的枚举类型吗? 最佳答案 这是提取常见事物(如魔数(MagicNumber)/字符串或类似事物)的好方法。想象一下,你到处都是BANANA然

javascript - 未捕获的类型错误 : Cannot read property 'call' of undefined after webpack rebuild CommonsChunkPlugin

我在尝试请求html文件时遇到一个奇怪的错误。有问题的代码是用typescript编写并使用webpack的AngularJs应用程序。应用程序指令.ts//require('./app.scss');//importAppControllerfrom'./app.controller';functionAppDirective():ng.IDirective{return{restrict:'E',scope:{},controllerAs:'vm',//controller:AppController,controller:()=>{},//template:require('./

javascript - Protractor + cucumber + typescript 失败

节点版本:4.4.5Protractor版本:3.3.0浏览器:chrome操作系统和版本Win7我正在尝试用typescript编写Protractor+cucumber组合。我的项目有一个简单的功能,可以打开页面并输入三个字段。我无法运行Protractor。它让我低于错误。$protractorprotractor.conf.js[13:40:55]I/hosted-Usingtheseleniumserverathttp://localhost:4444/wd/hub[13:40:55]I/launcher-Running1instancesofWebDriver⨯Unable

javascript - JsDoc:如何记录对象可以具有任意(未知)属性但具有特定类型?

这类似于question30360391.我想表达的是,函数的参数是一个普通的JS对象,它可以具有任意属性(未知)名称,但所有属性本身都是具有固定属性的对象。一个例子:函数就是这样/***@param{Descriptor}desc*/functionfoo(desc){//...}一个典型的desc看起来像desc={unknownEntity1:{priority:5;writable:false;},unknownEntity2:{priority:42;writable:true;},unknownEntity3:{priority:9;writable:false;}}我已经

javascript - Webpack resolve.root 和 TypeScript 加载器

我们的项目使用webpackresolve.root选项来导入具有绝对路径的模块。(避免像../../../module这样的东西)在目前的状态下,该项目正在使用babel-loader,它工作得很好。我的任务是将应用程序迁移到Angular2。因此,我目前正在过渡到TypeScript。不知何故,ts-loader似乎无法与webpack配置的resolve.root选项结合使用。webpack.config.js的例子resolve:{root:[path.resolve('./node_modules'),path.resolve('./app'),path.resolve('.

javascript - TypeScript - 是否有一个选项可以禁止在除 bool 值之外的任何内容之前使用“!”?

我知道这可能是一个典型的javascript问题,但我发现自己经常使用:if(!something){//...}在TypeScript中验证此something不是undefined或null。这很容易出错!当用于number时,“0”将匹配,当用于enum时,第一项也将匹配(默认情况下,第一项的值为“0”")!有没有办法在TypeScript中处理这个问题?有没有办法配置TypeScript以禁止在除boolean(和any)之外的任何内容前面使用感叹号?这种配置有意义还是我遗漏了一些微不足道的东西?应该:if(something===null||something===undef

javascript - typescript 中的 'd3 和 'd3-hexbin' 作为全局库

因此,我使用d3和d3-hexbin作为全局库:...并在.ts中将它们引用为://////...使用DefinitelyTyped定义。然而,尽管这有效:constsvg=d3.select('#hitmap').append('svg')...这个:consthexbin=d3.hexbin().radius(binsize+1)...失败并显示:Property'hexbin'doesnotexistontype'typeof"/Users/bytter/node_modules/@types/d3/index"'想法? 最佳答案

javascript - 使用 webpack 生成带打字文件的 typescript 库

目前我的构建过程是:使用ES6模块语法编写大量typescript文件生成一个index.ts,从一个点重新导出所有模块编译为CommonJS+系统输出描述符/输入文件这会生成一个index.js文件,该文件会重新导出所有内部文件,而无需开发人员使用它而无需了解它,以及许多反射(reflect)文件结构的d.ts文件。现在这行得通了,但是如果我要对浏览器采用这种方法,我将需要对所有js进行webpack,否则这将是拉入所有单个文件的http请求噩梦。目前,该库将作为其他库的依赖项使用,因此它不是逻辑的终点或任何它是模块/库的东西。现在的主要问题是关于webpack我知道我可以加载TS并